Video Cassette Recorders allow an end user to record an audio-visual program. When reviewing the recoded program the viewer may perform various operations such as fast forward (FF), fast reverse (REW), play (PLAY), slow motion (SM), slow reverse and pause (PAUSE).
Video on demand (VOD) systems are based upon a provision of programs to viewers over communication networks such as Hybrid Fiber Coax (HFC) networks. VOD providers are requested to allow end users to implement trick modes such as fast forward, rewind and the like. Due to various control, bandwidth and additional constraints VOD systems do not really perform FF and REW operations, but rather display a subset of frames out of the program to emulate FF and REW modes.
End users may also purchase a Personal Video Recorder (PVR) device that allows them to store a program in MPEG format, thus defining a stored program. The stored program may be manipulated to provide FF and REW modes. This solution is costly as it requires dedicated hardware and/or a subscription fee and also allows the end user to skip commercials. Accordingly, operators want to implement a PVR-like solution at their plant.
The Motion Pictures Experts Group (MPEG) has defined various methods for compressing and transmitting audio-visual information according to predefined timing schemes that allow displaying audio-visual content embedded within media streams. Raw video streams are provided to an MPEG encoder. An array of 8×8 pixels are DCT transformed to a block of 8×8 DCT coefficient blocks. The DCT coefficient blocks are assembled to macroblocks. The macroblocks are assembled to slices, that represent a horizontal strip of a picture. The strips are combined to make a picture. Each picture has a header. The picture header includes a picture type information, indicating whether the picture is I-frame, P-frame or B-frame. The picture header also includes timing information such as PTS and DTS that define when the picture is to be available to a viewer and when the picture is to be provided to a decoder, prior to said presentation. Pictures are arranged in a Group of Pictures (GOPs). A sequence of GOPs forms a video elementary stream. Video and audio elementary streams may be multiplexed to provide a transport stream or a program stream. In transport streams, the elementary streams are packetized to PES packets. Each PES packet includes a header that includes a stream ID and timing information.
I-frames are independent in the sense that they include the entire information that is required for displaying a picture. A P-frame is decoded in response to information embedded within a previous frame, while a B-frame is decoded in response to information embedded within both a preceding and succeeding frame.
Servers and data storage units are usually constructed in a manner that allows efficient storage and retrieval of data, but does not allow for retrieving data in a time sensitive manner. Accordingly, servers are not configured to retrieve and fetch data according to timing schemes such as MPEG compliant timing schemes.
U.S. Pat. No. 6,065,050 of DeMoney suggests a system and method for indexing between various video streams that include trick play streams and normal play media streams in a video delivery system. These various streams are encoded in accordance with different presentation rates. The system generates index look up tables between the normal play media stream and the trick play streams. The table enables indexing between the streams by utilizing a normal play time standard, and associating normal play time values to offsets within the corresponding video streams. The normal play time standard is driven by the timing information of the normal play media stream. In response to a user instruction to PLAY, FF or REW the video stream, the system switches between the normal play media stream and the corresponding trick play streams at predefined points that share the same normal play time value. The predefined points are stored in the look up table. U.S. Pat. No. 6,065,050 of DeMoney is incorporated herein by reference.
A disadvantage of such methods results from the need to generate and store multiple streams for allowing trick modes.
Thus, there is a need to provide a system and method for allowing efficient retrieval and storage of media streams and for allowing the retrieval and transmission of media streams according to predefined timing schemes to ensure the proper display of the audio-visual content embedded within the media streams.
There is also need to provide a system and method for allowing a service provider to provide FF, REW, PAUSE, SM services to an end-user. In that way, an end user that is coupled to the service provider's facilities may perform various operations such as fast forward (FF), fast reverse (REW) and play (PLAY).